程式中所謂的「多執行緒」,指的是允許同時執行多個程序。在Java中,若想要同時執行多個任務,可透過Thread類別或是Runnalbe介面來實現多執行緒。
可以透過繼承Thread類別(java.lang.Thread),並Override覆寫Thread的run()方法,即可達到多執行緒的作用
class MyThread extends Thread { //先繼承
@Override
public void run() { //覆寫
System.out.println("thread executed code");
}
}
public class Demo {
public static void main(String[] args) {
MyThread t = new MyThread(); //產生執行緒物件
t.start(); //啟動新的執行緒並執行 run() 方法
}
}
※直接呼叫 run() 會在當前執行緒中執行,而不會創建新的執行緒。
Runnalbe是一種介面,使用此介面即可達到多執行緒作用,同時還能繼承其他類別,比Thread更有彈性。
class MyRunnable implements Runnable {
@Override
public void run() { //Runnalbe介面唯一的方法即為run()
System.out.println("thread executed code");
}
}
public class Demo {
public static void main(String[] args) {
Runnable r = new MyRunnable();
Thread t = new Thread(r); //因是介面,不是繼承,故要手動產生執行緒物件
t.start();
}
}